Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Salzburg Challenger Milan Challenger Wimbledon - London Pozoblanco Challenger Nordea Open - Bastad Hamburg European Open - Hamburg Seville Challenger U.S. Open - New York Davis Cup, Group A, Bologna Mallorca Challenger Orleans Challenger Alicante Challenger Malaga Challenger Bergamo Challenger Lima 2 Challenger Stockholm Open - Stockholm European Open - Antwerp Guayaquil Challenger Valencia Challenger Montevideo Challenger Moselle Open - Metz Miami Open - Miami Open 13 Provence - Marseille Naples Challenger Australian Open - Melbourne Oeiras 3 Challenger Barcelona Open Banc Sabadell - Barcelona BNP Paribas Open - Indian Wells Noumea Challenger Qatar ExxonMobil Open - Doha Manama Challenger Quimper Challenger Open Sud de France - Montpellier Davis Cup, World Group, Q, SWE-BRA 1-3 Wimbledon - London Dubai Duty Free Tennis Championships - Dubai Phoenix Challenger Ostrava Challenger Rome Challenger Oeiras 4 Challenger Mauthausen Challenger Lexington Challenger Madrid Challenger Chicago Challenger French Open - Paris Winnipeg Challenger Bordeaux Challenger Prague Challenger Lyon Challenger Sassuolo Challenger U.S. Open - New York Ilkley Challenger Nordea Open - Bastad Citi Open - Washington Granby Challenger Cary Challenger Istanbul Challenger Rennes Challenger Orleans Challenger St. Tropez Challenger Villena Challenger Nonthaburi 3 Challenger BNP Paribas Nordic Open - Stockholm Mouilleron-Le-Captif Challenger Roanne Challenger Brest Challenger Belgrade Open - Belgrade Matsuyama Challenger Kobe Challenger Lyon Challenger Lille Challenger Glasgow Challenger Lugano Challenger Pune Challenger Chennai Challenger Yokohama Challenger St. Tropez Challenger Zadar Challenger Francavilla Challenger Yokkaichi Challenger Grodzisk Mazowiecki Challenger Open 13 Provence - Marseille Open Occitanie - Montpellier Hong Kong Tennis Open - Hong Kong New Delhi Challenger Australian Open - Melbourne Oeiras 5 Challenger Guangzhou Challenger Gwangju Challenger Sassuolo Challenger Porto Challenger Mallorca Championships - Mallorca Zug Challenger Naples Challenger Rome Challenger Morelia Challenger Tiriac Open - Bucharest Cuernavaca Challenger Grodzisk Mazowiecki Challenger Monza Challenger Wuxi Challenger Hamburg Open - Hamburg French Open - Paris Boss Open - Stuttgart Perugia Challenger Birmingham Challenger Heilbronn Challenger Wimbledon - London Braunschweig Challenger Nottingham 2 Challenger Nottingham 3 Challenger Nordea Open - Bastad Pozoblanco Challenger U.S. Open - New York Segovia Challenger Seville Challenger Porto 2 Challenger Istanbul Challenger Szczecin Challenger Bad Waltersdorf Challenger St. Tropez Challenger Portugal F1 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Morocco F1 Morocco F2 France F12 Canada F6 Sweden F4 Sweden F6 Sweden F7 France F18 France F19 France F21 Israel F1 France F2 Israel F2 Israel F3 Great Britain F5 France F4 Great Britain F6 France F5 Great Britain F7 France F7 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Turkey F15 Turkey F16 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 France F14 Turkey F25 Spain F21 Spain F22 Turkey F31 Turkey F32 France F20 Tunisia F9 Tunisia F10 Tunisia F11 Tunisia F1 Tunisia F2 France F3 Tunisia F5 Tunisia F6 France F4 Switzerland F1 Spain F7 Greece F3 Greece F4 Tunisia F15 Israel F4 Israel F5 Turkey F19 Turkey F20 India F8 India F9 India F10 France F14 Slovakia F2 Serbia F7 Switzerland F4 France F20 Germany F15 Kuwait F1 Kuwait F2 Germany F1 France F2 France F3 Great Britain F3 Italy F1 Italy F2 Spain F15 Tunisia F21 Germany F5 Turkey F27 Portugal F8 Portugal F9 Switzerland F3 Italy F26 France F18 France F19 France F20 France F21 Norway F2 Norway F3 Turkey F47 France F3 (Veigy-Foncenex) Great Britain F1 (Glasgow) Great Britain F2 (Tipton) Italy F2 (Trento) Italy F3 (Basiglio) France F8 (La Grande Motte) Israel F10 (Kiryat Shmona) Israel F11 (Herzlia) Israel F12 (Tel Aviv) Portugal F10 (Torres Vedras) Ireland F2 (Dublin) Belarus F2 (Minsk) Belarus F3 (Minsk) Italy F27 (Piombino) France F19 (Mulhouse) France F20 (Plaisir) France F21 (Forbach) Malaysia F3 (Kuala Lumpur) France F3 (Veigy-Foncenex) Switzerland F2 (Bellevue) Italy F1 (Trento) Italy F13 (Padova) Spain F17 (Bakio) M15 Veigy-Foncenex M25 Barnstaple M25 Trento M15 Toulouse M15 Poitiers M15 Cancun M15 Cancun M15 Cancun M25 Gyula M15 Tabarka M15 Setubal M25 Bakio M25+H Ajaccio M25 Porto M25 Saint Dizier M25 Bakio Segovia Challenger Miami Open - Miami Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Arad Challenger Poznan Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Bangkok Challenger Shanghai Challenger St. Remy Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger St. Remy Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger Cherbourg Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Blois Challenger Bastad Challenger Biella Challenger Portoroz Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger St. Remy Challenger Rome Challenger Mohammedia Challenger Dallas Challenger Bergamo Challenger St. Brieuc Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Astana Challenger Tampere Challenger Segovia Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Tiburon Challenger Stockton Challenger Ortisei Challenger Ho Chi Minh City Challenger Mouilleron-Le-Captif Challenger Pune Challenger Bangalore Challenger Playford Challenger Canberra Challenger Rennes Challenger Budapest Challenger Irving Challenger Drummondville Challenger Lille Challenger St. Brieuc Challenger Taipei City Challenger Nanchang Challenger Tunis Challenger Anning Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Blois Challenger Milan Challenger Bastad Challenger Astana Challenger Binghamton Challenger Lexington Challenger Cordenons Challenger Mallorca Challenger Chicago Challenger Cassis Challenger Istanbul Challenger Cary Challenger Orleans Challenger Brest Challenger Las Vegas Challenger Charlottesville Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Noumea Challenger Canberra Challenger Rennes Challenger Budapest Challenger Phoenix Challenger St. Brieuc Challenger Alicante Challenger Puerto Vallarta Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Bratislava Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Segovia Challenger Mallorca Challenger Cassis Challenger Istanbul Challenger Glasgow Challenger Nur-Sultan Challenger Mouilleron-Le-Captif Challenger Ismaning Challenger Brest Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Bendigo Challenger Bangkok Challenger Cherbourg Challenger Bergamo Challenger Pau Challenger Nur-Sultan Challenger Potchefstroom Challenger Prague Challenger Todi Challenger Prague II Challenger Cordenons Challenger Aix En Provence Challenger Parma Challenger Iasi Challenger Split Challenger Lisbon Challenger Istanbul Challenger Ismaning Challenger Hamburg Challenger Cary Challenger Orlando Challenger Ortisei Challenger Maia Challenger Quimper Challenger Quimper 2 Challenger Potchefstroom 1 Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Biella 3 Challenger Biella 4 Challenger Lugano Challenger Marbella Challenger Split 1 Challenger Oeiras 2 Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Prague Challenger Oeiras 3 Challenger Biella 7 Challenger Lyon Challenger Aix En Provence Challenger Forli Challenger Milan Challenger Braunschweig Challenger Nur-Sultan 3 Challenger Nur-Sultan 4 Challenger Segovia Challenger St. Tropez Challenger Cassis Challenger Rennes Challenger Istanbul 2 Challenger Biel Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Brest Challenger Bergamo Challenger Tenerife Challenger Roanne Challenger Bendigo Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Forli 5 Challenger Phoenix Challenger Marbella Challenger Lugano Challenger Sanremo Challenger Rome 1 Challenger Aix En Provence Challenger Bordeaux Challenger Troisdorf Challenger Prostejov Challenger Poznan Challenger Perugia Challenger Lyon Challenger Ilkley Challenger Montechiarugolo - Parma Challenger Salzburg Challenger Porto Challenger Pozoblanco Challenger Segovia Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Cassis Challenger Rennes Challenger Mouilleron-Le-Captif Challenger St. Tropez Challenger Brest Challenger Roanne Challenger Helsinki Challenger Andria Challenger Maia Challenger Noumea Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Koblenz Challenger Vilnius Challenger Cherbourg Challenger Lugano Challenger Phoenix Challenger Las Franquesas del Valles Challenger Lille Challenger Madrid Challenger Split Challenger Bordeaux Challenger Prostejov Challenger Nottingham Challenger Porto Challenger Seoul Challenger Surbiton Challenger Thionville Challenger Maia Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Bordeaux Challenger SkiStar Swedish Open - Bastad Suisse Open - Gstaad If Stockholm Open - Stockholm Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Swiss Open - Gstaad Abierto Mexicano - Los Cabos Intrum Stockholm Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Open Parc - Lyon SkiStar Swedish Open - Bastad Antalya Open - Antalya Murray River Open - Melbourne Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Korea Open - Seoul Tel Aviv Watergen Open - Tel Aviv Tennis Napoli Open - Naples Tata Open Maharashtra - Pune Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Banja Luka Open - Banja Luka Open Parc - Lyon cinch Championships - London Intrum Stockholm Open - Stockholm Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Finals, Group B Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Davis Cup, World Group, PO, SWE-BIH 3-1 Wimbledon - London Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Davis Cup, World Group I, 1R, SWE-IND 4-0